SET연산자 중 하나인
union을 사용하면
두개 또는 그 이상의 테이블 결과를 합쳐서 나타낼 수 있습니다. 테이블을 합치는 union은 동일한 컬럼의 테이블 값을 찾는 조인(join) 구문과는 다른 점 유의하시기 바랍니다.
UNION을 사용해 테이블을 합칠 경우 주의할 사항은 아래와 같습니다.
사용할 컬럼의 수는 동일할 것
ORDER BY를 사용해 정렬이 필요한 경우 맨 아래에 위치한 SELECT문에만 사용할 것
중복된 값이 있는 경우 하나의 결과(distinct)만 가져옴
# JOIN 구문 예제소스 보기
SELECT *
FROM sort
WHERE name='apple'
UNION
SELECT *
FROM tag
WHERE name='apple'
LIMIT 10
위 예제소스는
sort 테이블과
tag 테이블의 컬럼 name에 apple이란 값이 있는 경우 이를 찾아서 보여주는 예제소스입니다. 위에 언급된 것 처럼
중복된 값은 제외하고 하나만 보여줍니다.
! 참고로 만약에 다수의 테이블에서 중복된 값을 보기 원한다면
UNION 대신
UNION ALL을 사용합니다. 위의 예제는 아래와 같이 변경할 수 있습니다.
* 중복 결과도 포함하는 경우
SELECT *
FROM sort
WHERE name='apple'
UNION ALL
SELECT *
FROM tag
WHERE name='apple'
LIMIT 10